package com.game.service;

import java.util.List;

import com.game.model.Card;
import com.game.model.Room;
import com.game.vo.RoomStatusVO;
import com.game.vo.RoomVO;

public interface RoomService {
    RoomVO createRoom(Long userId);
    List<RoomVO> getAvailableRooms();
    Room getRoom(String roomCode);
    RoomStatusVO getRoomStatus(String roomCode, Long userId);
    void deleteRoom(String roomCode);
    void joinRoom(String roomCode, Long userId);
    void leaveRoom(String roomCode, Long userId);
    void ready(String roomCode, Long userId);
    void cancelReady(String roomCode, Long userId);
    void playCards(String roomCode, Long userId, List<String> cards);
    void pass(String roomCode, Long userId);
    void startGame(String roomCode, Long userId);
    void submitHand(String roomCode, Long userId, List<Card> frontHand, List<Card> middleHand, List<Card> backHand);
    int compareHands(List<Card> hand1, List<Card> hand2);
    void calculateScores(String roomCode);
} 